1. Field of the Invention
The invention relates to disk drives in computer systems. In particular the invention relates to disk drives in computer systems which provide real time status information to hosts.
2. Description of the Related Art
Disk drives provide non-volatile storage of large volumes of digital data in computer systems. Using a transducer head, data is recorded on and retrieved from a plurality of concentric data tracks, disposed on a rotating disk surface. The transducer head is moved radially to hover over a selected data track using an actuator. Data is written on or read from a selected portion of the track when the selected portion passes under the head.
The performance of a disk drive is to a large extent dependent on mechanical latency. One aspect of mechanical latency is called seek time, which is the time required to move the head to a target track from a current track. Another aspect of mechanical latency is rotational delay, which is the time required for a targeted portion of a data track to pass under the head once the head is on track. A great deal of effort has been expended in the disk drive art to minimize mechanical latency including rotating disks at higher rates to reduce rotational delay, and designing actuators with efficient voice coil motors and low mass to improve seek time.
Despite design improvements which reduce mechanical latency, the aforementioned mechanical delays continue to dominate the potential performance of a disk drive. Recognizing this, many efforts have been made to minimize the effects of mechanical latency by optimizing the order of operations performed by the disk drive in response to commands from a host. Disk drives have internal microprocessors which provide a degree of intelligence which can be deployed to inspect a queue of commands and construct a plan for reducing latency by executing the commands in a more efficient order than that in which they were received. European patent application EP 0757310A2 to Hewlett Packard company describes a number of disk scheduling algorithms which can be employed to optimize the order of commands in a queue.
Although these and other algorithms employed within the disk drive have somewhat mitigated mechanical latency, there remain barriers to achieving maximum performance. For one, host systems which manage disk drive operations do not have specific knowledge of the physical configuration of the drive. That is, the host accesses data on the drive by referencing logical block addresses, or in older systems as a Cylinder-Head-Sector address which is not literal but must be translated into a specific configuration within the drive. In either case, the host cannot effectively participate in reducing mechanical latency because the actual drive configuration is opaque. U.S. Pat. No. 5,390,313 to Yanai et al discloses a data mirroring arrangement including rotational position indicators for selecting which of an array of disk drives is at a rotational position to access data in the least time. The system disclosed by Yanai et al however relies on reducing access time through offsetting the relative angular phase of two or more disks with mirrored data which are synchronously rotated to achieve a reduced statistical average access time. Further, the Yanai system relies on a disk adapter/controller to process the position information and does not provide such information to a host.
Another barrier to achieving maximum performance in a disk drive is the processing capability of the disk drive microprocessor. The ability of a disk drive to intelligently manage host-commanded operations is ultimately constrained by competitive economic factors which may limit the bandwidth or overall computing capability which can be practically provided in the disk drive. Such factors limit the microprocessor type and speed selected for managing the disk drive and the amount and speed of memory for program execution. Another limiting factor is that the disk drive microprocessor must respond to real time demands from internal servo functions which limit bandwidth even when separate servo and interface control microprocessors are used.
There remains a need therefore for a cost effective apparatus in a disk drive which permits more closely achieving maximum performance by enabling host interaction for reducing the effects of mechanical latency.
This invention can be regarded as a disk drive connectable to a host via a host interface for receiving data transfer commands and for communicating position status variables in the disk drive. The disk drive comprises a head disk assembly and a media controller.
The head disk assembly further comprises a disk being formatted to define a plurality of discrete radial positions at which data is recorded in a data track and a spindle motor for rapidly rotating the disk. Each data track is formatted to define a plurality of equally spaced-apart servo sectors, each of which defines a wedge relative to an index. Each track is further formatted to define a plurality of data sectors having sync marks, each sync mark defining a discrete circumferential position between the servo sectors.
The media controller further comprises a servo system for controllably positioning the transducer head and having a means for determining the position status variables. The position status variables comprise the discrete radial position currently passing under the head and the wedge currently passing under the head. The media controller further comprises a means for storing the position status variables a means for providing the stored position status variables to the host computer. The invention thereby enables the host computer to be informed of the position status variables for optimizing the data transfer commands.
In another aspect, the invention can be regarded as a computer system comprising a host computer and the disk drive. The computer system comprises a host interface connecting the disk drive to the host computer and the disk drive provides the position status variables to a host memory in the host computer. Preferably the disk drive provides the position status variables to the host computer automatically. Suitably, the host interface can be a SCSI, ATA, P1394, PCI or Fibre Channel interface.
The invention can also be regarded as a method of optimizing data transfer commands sent to a disk drive in a computer system comprising a host having a host memory and a disk drive. The method comprises the steps of: storing disk drive formatting information in the host memory; storing disk drive performance parameters in the host memory; shadowing rotational and radial position information in the disk drive; periodically updating a portion of the host memory to store the shadowed rotational and radial position information. While periodically updating the portion of host memory, the method further comprises the steps of storing a queue of disk drive data transfer commands in the host memory; scanning the queue of disk drive data transfer commands; and calculating a next disk drive data transfer command to execute from the queue of disk drive data transfer commands based on the updated shadowed rotational and radial position information and the disk drive performance parameters. The method concludes by transmitting the next disk drive data transfer command to the disk drive.
In yet another aspect, the invention can be viewed as a method of optimizing data transfer commands sent to an array of disk drives in a computer system comprising a host having a host memory and a plurality of disk drives. The method comprises the steps of: storing formatting information for each of the plurality of disk drives in the host memory; storing disk drive performance parameters for each of the plurality of disk drives in the host memory; shadowing rotational and radial position information in each disk drive; periodically updating a portion of the host memory to store the shadowed rotational and radial position information for each disk drive. While periodically updating the portion of host memory, the method further comprises the steps of: storing a queue of disk drive data transfer commands which can be applied to any of the plurality of disk drives in the host memory; selecting a next data transfer command from the queue of disk drive data transfer commands; selecting a one of the plurality disk drives to receive the next data transfer command based on the updated shadowed rotational and radial position information and the disk drive performance parameters; and transmitting the next disk drive data transfer command to the selected disk drive.
The method may be applied to an array of disk drives having different performance and formatting parameters and may be applied with either mirrored or non-mirrored data security algorithms.